home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / t_os / mu_tool / bgm_test.bas < prev    next >
BASIC Source File  |  1993-11-30  |  3KB  |  111 lines

  1. 10000 PLAY OFF
  2. 10010 TEST_TIME$="00:01:00"     '計測時間
  3. 10020 DMY_LP=1000               '空ループ数
  4. 10030 '
  5. 10040 READ LB%,LE%,ME%
  6. 10050 READ FM_INIT$
  7. 10060 READ FM_ST!
  8. 10070 DIM  M0$(ME%), M1$(ME%), M2$(ME%)
  9. 10080 DIM  M3$(ME%), M4$(ME%), M5$(ME%)
  10. 10090 DIM  M6$(ME%), M7$(ME%), M8$(ME%), M9$(ME%)
  11. 10100 DIM M10$(ME%),M11$(ME%),M12$(ME%),M13$(ME%)
  12. 10110 FOR I=0 TO ME%:READ  M0$(I):NEXT
  13. 10120 FOR I=0 TO ME%:READ  M1$(I):NEXT
  14. 10130 FOR I=0 TO ME%:READ  M2$(I):NEXT
  15. 10140 FOR I=0 TO ME%:READ  M3$(I):NEXT
  16. 10150 FOR I=0 TO ME%:READ  M4$(I):NEXT
  17. 10160 FOR I=0 TO ME%:READ  M5$(I):NEXT
  18. 10170 FOR I=0 TO ME%:READ  M6$(I):NEXT
  19. 10180 FOR I=0 TO ME%:READ  M7$(I):NEXT
  20. 10190 FOR I=0 TO ME%:READ  M8$(I):NEXT
  21. 10200 FOR I=0 TO ME%:READ  M9$(I):NEXT
  22. 10210 FOR I=0 TO ME%:READ  M10$(I):NEXT
  23. 10220 FOR I=0 TO ME%:READ  M11$(I):NEXT
  24. 10230 FOR I=0 TO ME%:READ  M12$(I):NEXT
  25. 10240 FOR I=0 TO ME%:READ  M13$(I):NEXT
  26. 10250 '
  27. 10260 DATA 0,1,1
  28. 10270 DATA "T120%S16/1"        : '全音符16個で1小節
  29. 10280 DATA 0.25                : '1データ当たり全音符4個なので 4/16=0.25
  30. 10290 '0
  31. 10300 DATA "@1L4O3CEDFEGFAGBA>C<B>DC2"
  32. 10310 DATA "C<ABGAFGEFDECD<B>C2"
  33. 10320 '1
  34. 10330 DATA "@10L4O4CEDFEGFAGBA>C<B>DC2"
  35. 10340 DATA "C<ABGAFGEFDECD<B>C2"
  36. 10350 '2
  37. 10360 DATA "@11L4O4CEDFEGFAGBA>C<B>DC2"
  38. 10370 DATA "C<ABGAFGEFDECD<B>C2"
  39. 10380 '3
  40. 10390 DATA "@12L4O4CEDFEGFAGBA>C<B>DC2"
  41. 10400 DATA "C<ABGAFGEFDECD<B>C2"
  42. 10410 '4
  43. 10420 DATA "@9L4O3CEDFEGFAGBA>C<B>DC2"
  44. 10430 DATA "C<ABGAFGEFDECD<B>C2"
  45. 10440 '5
  46. 10450 DATA "@8L4O3CEDFEGFAGBA>C<B>DC2"
  47. 10460 DATA "C<ABGAFGEFDECD<B>C2"
  48. 10470 '6
  49. 10480 DATA ""
  50. 10490 DATA ""
  51. 10500 '7
  52. 10510 DATA ""
  53. 10520 DATA ""
  54. 10530 '8
  55. 10540 DATA ""
  56. 10550 DATA ""
  57. 10560 '9
  58. 10570 DATA ""
  59. 10580 DATA ""
  60. 10590 '10
  61. 10600 DATA ""
  62. 10610 DATA ""
  63. 10620 '11
  64. 10630 DATA ""
  65. 10640 DATA ""
  66. 10650 '12
  67. 10660 DATA ""
  68. 10670 DATA ""
  69. 10680 '13
  70. 10690 DATA ""
  71. 10700 DATA ""
  72. 10710 '
  73. 10720 'GOTO 10790
  74. 10730 CNT1=0
  75. 10740 TIME$="00:00:00"
  76. 10750 TIME TEST_TIME$:ON TIME GOSUB *END1:TIME ON
  77. 10760 FOR I=1 TO DMY_LP:NEXT
  78. 10770 CNT1=CNT1+1:GOTO 10760
  79. 10780 '
  80. 10790 *END1
  81. 10800 TIME OFF:RETURN 10820
  82. 10810 '
  83. 10820 FM_P!=0:FM_T%=0
  84. 10830 PLAY FM_INIT$
  85. 10840 GOSUB *BGMFM_DRV
  86. 10850 ON INTERVAL GOSUB *BGMFM_DRV:INTERVAL 1:INTERVAL ON
  87. 10860 '
  88. 10870 CNT2=0
  89. 10880 TIME$="00:00:00"
  90. 10890 TIME TEST_TIME$:ON TIME GOSUB *END2:TIME ON
  91. 10900 FOR I=1 TO DMY_LP:NEXT
  92. 10910 CNT2=CNT2+1:GOTO 10900
  93. 10920 '
  94. 10930 *END2
  95. 10940 TIME OFF:RETURN 10960
  96. 10950 '
  97. 10960 PRINT CNT1;CNT2
  98. 10970 PRINT "CPU消費率";100-(CNT2/CNT1)*100;"%"
  99. 10980 PLAY OFF
  100. 10990 END
  101. 11000 '
  102. 11010 *BGMFM_DRV
  103. 11020 '
  104. 11030 IF PLAY(1)>=FM_P!-1 THEN
  105. 11040   FM_P!=FM_P!+FM_ST!
  106. 11050   PLAY M0$(FM_T%),M1$(FM_T%),M2$(FM_T%),M3$(FM_T%),M4$(FM_T%),M5$(FM_T%),M6$(FM_T%),M7$(FM_T%),M8$(FM_T%),M9$(FM_T%),M10$(FM_T%),M11$(FM_T%),M12$(FM_T%),M13$(FM_T%)
  107. 11060   FM_T%=FM_T%+1
  108. 11070   IF FM_T%>LE% THEN FM_T%=LB%
  109. 11080 ENDIF
  110. 11090 RETURN
  111.